/*
  撑住啊！
  题目描述
    Gordon 在组建完他的领土战队伍后，和他的好基友强哥一起打开了《战争雷霆》
     （放心，强哥已经把题刷完了）。
    然后和往常一样，他们开始经历游戏这个游戏的日常：
      两个人在前线嘎嘎乱杀，但是一看分数马上就要掉光。
    于是 Gordon 决定把撑住最后一个点位的事情交给实力强大的强哥，
    而自己开着坦克去拦截从出生点往点位支援的敌方坦克。

    Gordon 对地图很熟悉，他知道敌方从出生点赶去支援有一条必经之路。
    而作为一位身经百战的资深老六，Gordon 有 114514 种姿势在不会被发现的情况下在那条路上伏击敌方坦克，
    并且 Gordon 带的弹药足够多，所以你不用担心他会出现弹药不足的问题。

    由于点位内的战斗强度已经极大，若有至少一辆从出生点赶去支援的坦克被 Gordon 放走，
    强哥就会被围殴至死，并丢掉最后的点位，然后 Gordon 和强哥一方就会彻底输掉这局游戏。
    所以 Gordon 必须在伏击点拦住所有从敌方出生点赶去支援的坦克。

    敌方总共有 n 辆赶去支援的坦克，由于坦克的防护各有不同，Gordon 需要一些时间去击毁它们。
    当 Gordon 选择攻击目标后，除非目标已经被击毁，Gordon 不会攻击其他坦克。
    Gordon 确定或切换攻击目标不需要花时间。

    Gordon 想知道他最晚需要在第几分钟赶到伏击点才能拦住所有支援的坦克。
  输入格式
    第一行为一个整数 n (1 ≤ n ≤ 1000)。
    往后 n 行每行两个整数 Ti, Si (1 ≤ T1 ≤ 1000, 1 ≤ Si ≤ 10^6)。
      其中 Ti 表示 Gordon 击毁敌方第 i 辆赶去支援的坦克需要的分钟数，
           Si 表示第 i 辆坦克必须在第 Si 分钟或之前被击毁，否则就会安全离开伏击点。
  输出格式
    Gordon 最晚需要在第几分钟赶到伏击点。当然如果 Gordon 无论如何都拦不住所有的坦克，就输出 −1。
  输入数据 1
    4
    3 5
    8 14
    5 20
    1 16
  输出数据 1
    2
*/